#ifndef EVENTDISPATCHER_H
#define EVENTDISPATCHER_H

#include "events/Event.h"

typedef void(*EventCallback)(const Event&);

class EventDispatcher
{
public:
	EventDispatcher() {}
	virtual ~EventDispatcher() {}

	void addListener(std::string type, EventCallback);
	void removeListener(std::string type, EventCallback);
	
	void fire(Event* e);
//	void fire(const Ogre::FrameEvent& e);
//	void fire(const Event& e);
	
protected:
};

#endif // EVENTDISPATCHER_H
